package com.ipc.app.dal.dao;

import java.util.Date;
import java.util.List;

import com.ipc.app.dal.doObject.OrderDO;

/**
 * @author 雪
 * 
 */
public interface OrderDAO {

	/**
	 * @param orderDO
	 */
	public void createOrder(OrderDO orderDO);

	/**
	 * @param orderID
	 * @return
	 */
	public OrderDO getOrder(String orderID);

	/**
	 * @param orderID
	 * @return
	 */
	public OrderDO getOrderAndLock(String orderID);

	/**
	 * @param orderDO
	 */
	public void updateOrder(OrderDO orderDO);

	/**
	 * @return
	 */
	public List<OrderDO> getExpiredOrder(Date date);
	
	/**
	 * @param userID
	 * @return
	 */
	public int getOrderCountByUser(String userID);

	/**
	 * @param userID
	 * @param pageNumber
	 * @param pageIndex
	 * @return
	 */
	public List<OrderDO> getOrderByUser(String userID, int pageNumber,
			int pageIndex);
}
